import axios from 'axios'

/*
*{
* name : 'zhangsan'
* age ：18
* sexy ：boy
* }
*get请求参数是url字符串swqswq?name=zhangsan&age=18&sexy=boy
* post是对象
* */

export default function ajax(url = '',params = {},type = 'GET') {
    //1.1 定义变量（ajax请求返回的是一个promise变量）
    let promise;
    //返回一个promise变量
    return  new Promise((resolve,reject)=>{
        //1.2 判断请求类型
        if(type.toUpperCase() === 'GET'){//get请求
            //1.3 拼接字符串
            let paramsStr = '';
            //1.4遍历
            Object.keys(params).forEach(key=>{
                paramsStr += key + '=' + params[key] + '&';
            });
            //1.5 截取字符串
            if(paramsStr){
                paramsStr = paramsStr.substr(0,paramsStr.lastIndexOf('&'))
            }
            //1.6 拼接url
            url += '?'+paramsStr;
            //1.7 发起get请求
            promise = axios.get(url);
        } else if (type.toUpperCase() === 'POST') { // post请求
            //发起post请求
            promise = axios.post(url,params);
        }
        //1.8 处理结果并返回
        promise.then((response)=>{
            resolve(response.data);
        }).catch(error=>{
            reject(error);
        })
    });
}
